package com.atguigu.tingshu.user.config;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

@Component
public class WeChatMpConfig {
    @Autowired
    private WechatAccountConfig wechatAccountConfig;
    /**
     * 配置并创建WxMaService实例
     *
     * 该方法使用Spring的@Bean注解，表明该方法会返回一个对象，该对象要被Spring管理
     * WxMaService是微信小程序的Service接口，用于实现与微信小程序相关的操作
     *
     * @return WxMaService实例，用于进行微信小程序相关的操作
     */
    @Bean
    public WxMaService wxMaService() {
        // 创建WxMaDefaultConfigImpl实例，用于配置微信小程序的相关信息
        WxMaDefaultConfigImpl wxMaconfig = new WxMaDefaultConfigImpl();
        // 设置微信小程序的AppID
        wxMaconfig.setAppid(wechatAccountConfig.getAppId());
        // 设置微信小程序的AppSecret
        wxMaconfig.setSecret(wechatAccountConfig.getAppSecret());
        // 设置消息数据格式为JSON
        wxMaconfig.setMsgDataFormat("JSON");
        // 创建WxMaServiceImpl实例，用于实现WxMaService接口
        WxMaServiceImpl wxMaService = new WxMaServiceImpl();
        // 将配置好的wxMaconfig设置到wxMaService中
        wxMaService.setWxMaConfig(wxMaconfig);
        // 返回配置好的WxMaService实例
        return wxMaService;
    }
}
